#ifndef CLAW_H
#define CLAW_H
#include "oslib.h"

#define ClawCAN     (&hcan2)
#define ClawBoardID 2             //取箭大疆驱动板ID
#define ClawRiseID  2             //抓手上升3508ID
#define ClawRollID  3             //抓手翻转3508ID
#define ClawMoveID  1             //抓手左右移动2006ID

#define ClawRiseSpeed 150         //抓手上升最大速度
#define ClawRollSpeed 60          //抓手翻转最大速度
#define ClawMoveSpeed 300         //抓手左右移动最大速度

#define ClawRiseHeight 92000      //抓手上升最高位置
#define ClawLoosenHeight 50000    //抓手放箭时高度
#define ClawRollPos -170000       //抓手翻转目标位置
#define ClawMovePos1 70000        //第一支箭右移位置
#define ClawMovePos2 375000       //第二支箭右移位置
#define ClawMovePos3 700000       //第三支箭右移位置

#define ClawFirstPos 60000        //第一次取箭初始位置
#define ClawSecondPos 680000      //第二次取箭初始位置

#define ClawRollLittle -3500      //抓到箭后略微翻转小角度

typedef enum {
    GA_START,
    GA_CATCH,
    GA_RISE,
    GA_ROLL,
    GA_MOVE,
    GA_LOOSEN,
    GA_RESET,
    GA_OVER
} GA_STATUS;
extern GA_STATUS ga_status;

void GA_status_machine();
void GA_task(void *argument);
void GA_start_machine();


#endif // CLAW_H